package com.xm;

class Polygon {

    public void display() {
        System.out.println("父类方法——在Polygon内部");
    }
}

interface Rectangle {
    public void display();

}

public class AnonymousClass {

    /*
    定义一个匿名类（由于匿名内部类没有名字，所以它没有构造函数）
    object = new Type(parameterList) {
    匿名内部类代码
    };
    */
    public void createClass() {
        // 创建的匿名内部类继承了Polygon类
        Polygon polygon = new Polygon() {
            public void display() {
                System.out.println("重写父类方法——在匿名类内部");
            }
        };
        polygon.display();
    }

    public void createClass2() {
        // 创建的匿名内部类实现了Rectangle接口
        Rectangle rectangle = new Rectangle() {
            @Override
            public void display() {
                System.out.println("在匿名类内部");
            }
        };
        rectangle.display();
    }

}

class Main {
    public static void main(String[] args) {
        AnonymousClass anonymousClass = new AnonymousClass();
        anonymousClass.createClass();

        anonymousClass.createClass2();
    }
}